package com.ktjy;

import java.lang.reflect.Constructor;

public class Demo4 {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, NoSuchMethodException {
        //1.解剖.class文件的基本信息
        Class clz= Person.class;

        //获取这个类中的构造方法
        //1.获取所有的构造方法(获取public修饰的构造方法)
        Constructor[] constructors = clz.getConstructors();
        for (Constructor constructor : constructors) {
            System.out.println(constructor);
        }
        System.out.println("----------------------------------------");
        //2。获取所有的构造方法(不管访问修饰符是什么)
        Constructor[] declaredConstructors = clz.getDeclaredConstructors();
        for (Constructor constructor : declaredConstructors) {
            System.out.println(constructor);
        }
        System.out.println("--------------------------------------");
        //3.获取指定的构造函数(只能获取被public修饰的)
//        Constructor constructor = clz.getConstructor(String.class, Integer.class);
//        System.out.println(constructor);
        System.out.println("--------------------------------------------------");
        //4.获取指定的构造函数(只能获取被public修饰的)
        Constructor constructor2 = clz.getDeclaredConstructor(String.class, Integer.class);
        System.out.println(constructor2);
    }
}
